SAIL: Static Analysis Intermediate Language with a Two-Level Representation

نویسندگان

  • Isil Dillig
  • Thomas Dillig
  • Alex Aiken
چکیده

In this paper, we present Sail (Static Analysis Intermediate Language), a front-end which provides both a highand a low-level representation of programs and maintains a precise mapping from the low-level instructions to the high-level expressions and statements in the original source code. This two-level representation makes it easy to perform semantic analysis of programs on the low-level representation while having the ability to relate this low-level reasoning back to the source code, allowing precise feedback in terms of the original program. Sail’s two-level representation is specifically targeted for program analysis, provides extensive support for control flow graphs and serialization, is built on GCC 4.3.4, and is currently targeted for C code. Sail is freely available under the BSD license from http://www.stanford.edu/~isil/sail.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On the Representation of Multiple Intelligence Types in the ILI Intermediate Coursebooks: A Coursebook Evaluation

This study aims at evaluating the coursebooks taught at the intermediate level of adult and young adult departments of the Iran Language Institute in terms of multiple intelligence types introduced by Gardner (1983) to see to what extent such coursebooks represent the Multiple Intelligence Theory. To fulfill the objectives, a checklist developed by Botelho (2003) and localized by the researcher...

متن کامل

Extended High-Level C-Compatible Memory Model with Limited Low-Level Pointer Cast Support for Jessie Intermediate Language

The paper presents an intermediate language which is intended to serve as a target analyzable language for verification of real-world production GNU C programs (Linux kernel modules). The language represents an extension of the existing intermediate language used by the JESSIE plugin for the FRAMA-C static analysis framework. It is compatible with the C semantics of arrays, initially supports h...

متن کامل

Toward Language Independent Worst-Case Execution Time Calculation

Set of Software Quality Static Analyzers (SSQSA) is a set of software tools for static analysis that is incorporated in the framework developed to target the common aim – consistent software quality analysis. The main characteristic of all integrated tools is the independency of the input computer language. Language independency is achieved by enriched Concrete Syntax Tree (eCST) that is used a...

متن کامل

Annotations for Portable Intermediate Languages

This paper identifies high-level program properties that can be discovered by static analysis in a compiler front end, and that are useful for classical low-level optimizations. We suggest how intermediate language code could be annotated to convey these properties to the code generator.

متن کامل

IF: An intermediate representation for SDL and its applications

We present work of a project for the improvement of a speciication/validation toolbox integrating a commercial toolset Objectgeode and diierent validation tools such as the veriication tool cadp and the test sequence generator tgv. The intrinsic complexity of most protocol speciications lead us to study combination of other techniques such as static analysis and abstraction together with the cl...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009